package main

import "fmt"

func main() {
	/*
		// 创建映射
		// map[键类型]值类型
		// 1.直接创建（字面量）
		student := map[string]int{
			"chinese": 82,
			"math":    95,
			"english": 90,
		}
		// fmt.Println(student)
		// 元素访问
		fmt.Println(student["chinese"])
		student["math"] = 92
		fmt.Println(student)
		// 2.使用make创建映射
		names := make(map[int]string)
		names[1001] = "小明"
		names[831] = "小丽"
		names[777] = "小刚"
		fmt.Println(names)
		// 练习：创建映射，记录各个颜色块的数量。
		colors := map[string]int{
			"red":    5,
			"green":  10,
			"blue":   3,
			"orange": 2,
		}
		fmt.Println(colors)
		// 练习：创建映射，记录每个手机号码对应的人。
		users := make(map[int]string)
		users[13812345678] = "小明"
		users[19989223456] = "小红"
		users[17388889999] = "小东"

		// 删除元素
		// delete(映射名称, 键)
		// delete(users, 19989223456)
		// fmt.Println(users)
		// 遍历映射
		for key, value := range users {
			fmt.Println(key, value)
		}

	*/
	// 练习：创建映射，保存一组学生信息（姓名、成绩）
	// 计算出所有学生的平局成绩
	// 查找出成绩最高的学生
	score := map[string]int{
		"小明": 85,
		"小红": 92,
		"小美": 74,
		"小东": 59,
		"小军": 67,
	}
	total := 0
	for _, value := range score {
		total += value
	}
	// fmt.Println(total, len(score))
	// avg := total / len(score)
	// 377 / 5 = 75
	avg := float64(total) / float64(len(score))
	fmt.Println(avg)
	// 定义变量保存最高分
	max := 0
	var name string
	for key, value := range score {
		// 如果任意一个值大于max
		if value > max {
			max = value // 存储成绩
			name = key  // 存储姓名
		}
	}
	fmt.Println(max, name)

}
